轻松学会Python OpenCV:绘制基本几何图形
这篇文章介绍了使用OpenCV绘制基本几何图形的方法,步骤如下:首先需安装opencv-python和numpy库,导入库后创建500x500的黑色画布。 绘制图形部分:直线用cv2.line,如从(50,50)到(450,450)的红色抗锯齿线;矩形用cv2.rectangle,支持轮廓(线宽3)和填充(线宽-1),如绿色轮廓矩形和蓝色填充矩形;圆形用cv2.circle,支持轮廓(线宽5)和填充(线宽-1),如黄色轮廓圆和红色填充圆;多边形用cv2.polylines(轮廓)和cv2.fillPoly(填充),示例为青色三角形轮廓和浅红色四边形填充。 最后用cv2.imshow显示图像,cv2.waitKey等待关闭。关键说明:颜色为BGR格式(如红色为(0,0,255)),线宽-1表示填充,坐标原点在图像左上角。
阅读全文Python OpenCV实战:模板匹配与图像定位
本文介绍使用Python OpenCV实现模板匹配的图像定位方法。模板匹配核心是用“模板图像”在目标图像滑动,通过计算相似度找到最匹配区域,适用于简单场景(如监控物体定位)。 步骤包括:准备目标与模板图像,转换为灰度图提高效率;使用`matchTemplate`(如`TM_CCOEFF_NORMED`方法)计算相似度矩阵;设置阈值(如0.8)筛选高相似度区域,并用`np.where`获取位置;最后用矩形标记匹配结果并显示保存。 注意:模板匹配仅适用于目标无旋转、缩放的场景,复杂场景需改用ORB等特征匹配;匹配方法和阈值需根据实际情况调整,阈值过高易漏检,过低易误检。文章通过“苹果定位”实战示例,帮助入门者掌握基础流程,适合快速实现简单图像定位任务。
阅读全文零基础学Python OpenCV:摄像头实时捕获与显示
本文介绍了使用Python和OpenCV实现摄像头实时捕获与显示的方法。选择OpenCV(开源计算机视觉库)和Python(语法简洁)的原因在于其易用性和功能适配性,Python的opencv-python接口安装便捷。 安装步骤:需先安装Python 3.6+,再通过`pip install opencv-python`安装库(必要时先装numpy)。 核心流程:打开摄像头(`cv2.VideoCapture(0)`)→循环读取帧(`cap.read()`,返回ret和frame)→显示图像(`cv2.imshow()`)→按q键退出→释放资源(`cap.release()`和`cv2.destroyAllWindows()`)。 关键代码解释:`cap.read()`检查读取状态,`cv2.waitKey(1)`等待按键(q键退出),确保资源正确释放避免占用。文章还提及常见问题(如摄像头无法打开)及扩展练习(灰度显示、翻转图像等),为后续复杂图像处理奠定基础。
阅读全文Python OpenCV图像缩放与裁剪:初学者必学技巧
本文介绍Python OpenCV中图像缩放和裁剪的基础操作,帮助零基础掌握核心技巧。 **图像缩放**:使用`cv2.resize()`函数,支持两种目标尺寸指定方式:按比例缩放(通过`fx`/`fy`控制,如`fx=0.5`缩小一半)或直接指定宽高(如`(200, 200)`)。插值方法建议:缩小用`INTER_AREA`,放大用`INTER_LINEAR`,避免变形。示例中需注意图像路径正确性及窗口操作(`waitKey`和`destroyAllWindows`)。 **图像裁剪**:本质是NumPy数组切片,格式为`img[y_start:y_end, x_start:x_end]`,需确保坐标不越界(`y_end`≤高度,`x_end`≤宽度)。示例包括固定区域裁剪和中心区域裁剪(先计算中心偏移量`(w-target_w)//2`和`(h-target_h)//2`,再切片)。 **总结**:缩放需注意路径和插值方法,裁剪需关注坐标范围。两者常结合使用(如先裁剪再缩放),是图像预处理
阅读全文手把手教你用Python OpenCV识别图像轮廓
这篇文章介绍了用Python OpenCV实现图像轮廓识别的方法。需先安装OpenCV和NumPy库。图像轮廓是物体边界线,用于定位目标物体(如人脸、圆形)。核心步骤包括:预处理(灰度化+二值化简化图像)、边缘检测(Canny算法,通过阈值确定边界)、轮廓提取(findContours获取坐标)、筛选与绘制(按面积等筛选并可视化)。 实战中以shapes.jpg为例,演示流程:读取图像→灰度化+二值化→Canny边缘检测→findContours提取轮廓→按面积筛选最大轮廓并绘制。常见问题如轮廓不完整可调整Canny阈值,多余轮廓通过面积过滤解决。还可扩展用圆形度等形状特征识别物体。 总结指出,轮廓识别是计算机视觉基础,初学者可从简单图像入手,通过参数调整优化结果。
阅读全文从入门到实战:Python OpenCV色彩空间转换详解
本文介绍了图像色彩空间的概念及OpenCV在Python中的转换应用。常见色彩空间有RGB(显示用,红/绿/蓝通道)、BGR(OpenCV默认,蓝/绿/红顺序)、HSV(色相H、饱和度S、明度V,适合颜色分割)。转换原因:不同空间用途不同(RGB显示,HSV利于颜色识别,BGR为OpenCV原生)。核心工具为`cv2.cvtColor()`,语法为`cv2.cvtColor(img, cv2.COLOR_原空间2目标空间)`,如`cv2.COLOR_BGR2HSV`。实战中,以红色物体识别为例:读取图像→转HSV→定义红色HSV范围(H分0-10和160-179区间)→掩码提取。还可扩展至摄像头实时检测。关键点:掌握转换函数,注意BGR与RGB差异,HSV范围需依光线调整。
阅读全文Python OpenCV入门:5分钟掌握图像二值化处理
图像二值化是将像素按阈值分为黑白两类,简化图像便于分析,常用于文字识别等场景。核心是通过cv2.threshold()函数实现,需输入灰度图、阈值、最大值及类型,返回实际阈值和二值化图像。常用阈值类型包括:THRESH_BINARY(像素>阈值变白)、THRESH_BINARY_INV(相反)、THRESH_OTSU(自动计算最优阈值)。阈值选择:手动适用于亮度均匀图像,Otsu适合高对比度场景;光照不均时用自适应阈值。关键步骤为:读取图像转灰度→选阈值类型→二值化处理→显示。掌握二值化可支持边缘检测、目标分割等任务。
阅读全文